package hero.mps.leet_code_14;

public class LongestCommonPrefix {
    public static String longestCommonPrefix(String[] strs) {
        if (strs.length == 0 || strs == null) {
            return "";
        }

        // 初始化前缀为第一个字符串
        String prefix = strs[0];

        // 遍历字符串数组
        for (int i = 1 ; i < strs.length; i++) {
            // 当前缀不是当前字符串的开头时，循环缩减前缀长度
            while (strs[i].indexOf(prefix) != 0) {
                // 缩减前缀长度
                prefix = prefix.substring(0, prefix.length() - 1);

                // 若前缀为空字符串，则返回空字符串
                if (prefix.isEmpty()) {
                    return "";
                }
            }
        }

        // 返回最长公共前缀
        return prefix;

    }

    public static void main(String[] args) {
        String[] strs = new String[]{"ab", "a"};
        System.out.println(longestCommonPrefix(strs));
    }
}
